﻿package net.sxnic.normal.util;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import net.sxnic.comm.CommConstant;

import org.apache.commons.lang.time.DateUtils;

/**
 * 常量
 */
public class Constants extends CommConstant{
	
	/**
	 * 本系统所用类别别名
	 */
	public static final String ALIAS = "linfenitem";
	
	/**
	 * 本系统所用类别编号
	 */
	public static final String CATEGORY = "002";

    /**
     * Session key
     */
    public static final String SESSION_KEY = "app.session_key";

    /**
     * 默认autologin时间为1年
     */
    public static final int AUTO_LOGIN_COOKIE_MAX_AGE = Long.valueOf(
        DateUtils.MILLIS_PER_DAY * 365).intValue();

    /**
     * 无权限提示页
     */
    public static final String NOT_AUTHORIZED_PAGE = "/unAuthorized.jsp";

    /**
     * Cookie key
     */
    public static final String AUTOLOGIN_COOKIE_KEY = "app.cookie_user";

    /**
     * Redirect URL KEY
     */
    public static final String REDIRECT_URL_KEY = "redirectUrl";

    /**
     * Default Page size
     */
    public static final int DEFAULT_PAGE_SIZE = 20;
    
    /**
     * 在系统启动是初始化一个组织单位Map
     */
    public static Map<String,Map<String,String>> SUPERIOR_MAP = new HashMap<String,Map<String,String>>();
    
    /**
     * 为了获得一个全局的当前菜单编码，而保存的一个字符串
     */
    public static String MENUCODE = "menuCode";
    
    /**
     * 一个基础属性文件名
     */
    public static final String APPLICATION_PROPERTIES_FILE ="application.properties";
    
    /**
     * 系统启动时间
     */
    public static Date SYSTEM_STARTTIME = new Date();
    
  
    /**
     * 初始化 学科表 文件名
     */
    public static final String INIT_SUBJECT_TXT ="subject_standard.txt";


    
    /** 以下内容为属性表中的一些定义的定义写法     ***/
    
    /**
     * 在定义文件或者txt文件中，所有以#开头的行，都为忽略行，即为注释行
     */
    public static final String TXT_IGNORE_CHAR = "#";
    
    /**
     * 需要特殊处理的类别。如app.special.006 = true 表示类别006的申报书链接将特殊处理
     */
    public static final String APP_SPECIAL = "app.special.";
    
    /**
     * 类别对应的pd名字，一般为别名。
     */
    public static final String WFD_PDNAME = "wfd.pdName.";
    
    /**
     * 大类别对应小类别的列表（在basecode中定义）。如category2.006  %&%  101表示006大类别对应小类别在basecode中列表sortcode为101
     */
    public static final String CATEGORY2_BASECODE_SORTCODE="category2.";
    
    /**
     * 类别所对应的别名。如category1.001 =  item表示001所对应的别名是item
     */
    public static final String CATEGORY1_ALIAS ="category1.";
    
    /**
     * 上传附件位置，是否绝对路径的前缀
     */
    public static final String ABSOLUTE_PATH_PREFIX = "DIR:";
    
    /**
     * 项目类别对应的操作年份，一般为当前年，但是项目申报为下一年，所以+1。
     */
    public static final String OPT_YEAR = "optYear";
    
    /**
     * 用来保存登陆用户的角色名（由于申报系统一般来讲用户基本的角色都是唯一的，而且变动性极小，所以本系统假定一用户对应一角色名）
     */
    public static final String SESSION_ROLE_KEY = "role_key";
    
    /**
     * 文档下载路径:http://218.26.227.171/shenbaodoc/
     */
    public static String DOC_DOWNLOAD_PATH = "";
    
    
    /**
	 * 默认的页面风格名称
	 */
	public static final String DEFAULT_CSS_STYLE = "classic";
	
	/**
	 * session Id
	 */
	public static final String SESSION_ID ="session_id";
	
	public static int sessionCount = 0;
	
	/** 冒号分隔符 */
	public static final String SPLIT_COLON = ":";
	/** 逗号分隔符 */
	public static final String SPLIT_COMMA = ",";
	//认证码在seesion中的key
	public static final String RAND = "rand";
	
}
